feat: add RPM-only presubmit Prow jobs for MicroShift#81195
Conversation
Add e2e-aws-tests-rpm-el9 and e2e-aws-tests-rpm-el10 presubmit jobs that skip image builds and only build RPMs, reducing CI time ~35-40%. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> pre-commit.check-secrets: ENABLED
|
Skipping CI for Draft Pull Request. |
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
WalkthroughMicroShift CI now adds RPM presubmit E2E jobs, maps ChangesMicroShift RPM presubmit CI wiring
Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes Suggested labels
🚥 Pre-merge checks | ✅ 13 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (13 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@ci-operator/config/openshift/microshift/openshift-microshift-main.yaml`:
- Around line 177-184: The e2e-aws-tests-rpm-el10 job is still pointing at the
EL9 image path because MICROSHIFT_OS is set incorrectly. Update the env in the
e2e-aws-tests-rpm-el10 job definition to use the EL10 OS value so it matches the
SCENARIO_TYPE rpm-presubmits-el10 and the job name.
In
`@ci-operator/step-registry/openshift/microshift/infra/iso-build/openshift-microshift-infra-iso-build-commands.sh`:
- Around line 30-31: The SCENARIO_TYPE check in the ISO build script is too
broad and is matching non-RPM presubmit jobs like existing presubmits and
bootc-presubmits*; tighten the branch condition in
openshift-microshift-infra-iso-build-commands.sh so only rpm-presubmits-* enters
the -rpm_only path. Update the conditional around the SCENARIO_TYPE match to use
a more specific pattern and leave the normal ISO/image build flow untouched for
all other presubmit scenarios.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository YAML (base), Central YAML (inherited)
Review profile: CHILL
Plan: Enterprise
Run ID: 2bcd2ca3-a23d-4948-8f9b-ed2321ff9c67
📒 Files selected for processing (3)
ci-operator/config/openshift/microshift/openshift-microshift-main.yamlci-operator/step-registry/openshift/microshift/includes/openshift-microshift-includes-commands.shci-operator/step-registry/openshift/microshift/infra/iso-build/openshift-microshift-infra-iso-build-commands.sh
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> pre-commit.check-secrets: ENABLED
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: agullon The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Avoid matching regular presubmit jobs that also contain "presubmit". Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> pre-commit.check-secrets: ENABLED
|
/pj-rehearse e2e-aws-tests-rpm-el9 |
|
/pj-rehearse e2e-aws-tests-rpm-el10 |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In
`@ci-operator/step-registry/openshift/microshift/infra/iso-build/openshift-microshift-infra-iso-build-commands.sh`:
- Around line 45-48: The ISO build step is hardcoded to clone agullon/microshift
at shiftweek/rpm-presubmit-ci instead of using the standard checkout flow.
Remove the temporary GUSR/GBRN override and the direct git clone in
openshift-microshift-infra-iso-build-commands.sh, and restore the normal
ci_clone_src-based source checkout so the step validates the canonical
repository state.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository YAML (base), Central YAML (inherited)
Review profile: CHILL
Plan: Enterprise
Run ID: fdec9d69-7203-4eb0-9af8-ae1f630901c9
⛔ Files ignored due to path filters (1)
ci-operator/jobs/openshift/microshift/openshift-microshift-main-presubmits.yamlis excluded by!ci-operator/jobs/**
📒 Files selected for processing (1)
ci-operator/step-registry/openshift/microshift/infra/iso-build/openshift-microshift-infra-iso-build-commands.sh
| # TODO: Revert to 'ci_clone_src' before merging | ||
| GUSR=agullon | ||
| GBRN=shiftweek/rpm-presubmit-ci | ||
| git clone "https://github.com/${GUSR}/microshift.git" -b "${GBRN}" /go/src/github.com/openshift/microshift |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
Remove the hardcoded fork/branch before merge.
Lines 46-48 force this step to test agullon/microshift@shiftweek/rpm-presubmit-ci instead of the canonical checkout, so merged presubmits will validate the wrong source and can start failing once that branch disappears. Please restore the normal ci_clone_src flow here before this lands.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In
`@ci-operator/step-registry/openshift/microshift/infra/iso-build/openshift-microshift-infra-iso-build-commands.sh`
around lines 45 - 48, The ISO build step is hardcoded to clone
agullon/microshift at shiftweek/rpm-presubmit-ci instead of using the standard
checkout flow. Remove the temporary GUSR/GBRN override and the direct git clone
in openshift-microshift-infra-iso-build-commands.sh, and restore the normal
ci_clone_src-based source checkout so the step validates the canonical
repository state.
|
/pj-rehearse pull-ci-openshift-microshift-main-e2e-aws-tests-rpm-el9 |
|
@agullon: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
@agullon: your |
1 similar comment
|
@agullon: your |
|
@agullon: job(s): e2e-aws-tests-rpm-el9 either don't exist or were not found to be affected, and cannot be rehearsed |
|
/pj-rehearse pull-ci-openshift-microshift-main-e2e-aws-tests-rpm-el10 |
|
@agullon: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
/pj-rehearse pull-ci-openshift-microshift-main-e2e-aws-tests-rpm-el9 |
|
@agullon: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
The infra-iso-build step references SCENARIO_TYPE but it was not declared in the ref YAML, causing 'unbound variable' with set -u. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> pre-commit.check-secrets: ENABLED
|
/pj-rehearse pull-ci-openshift-microshift-main-e2e-aws-tests-rpm-el9 |
|
/pj-rehearse pull-ci-openshift-microshift-main-e2e-aws-tests-rpm-el10 |
|
@agullon: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
1 similar comment
|
@agullon: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
/pj-rehearse pull-ci-openshift-microshift-main-e2e-aws-tests-rpm-el9 |
|
/pj-rehearse pull-ci-openshift-microshift-main-e2e-aws-tests-rpm-el10 |
|
@agullon: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
1 similar comment
|
@agullon: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
/pj-rehearse pull-ci-openshift-microshift-main-e2e-aws-tests-rpm |
|
@agullon: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
/pj-rehearse pull-ci-openshift-microshift-main-e2e-aws-tests-rpm-arm |
|
@agullon: your |
|
/pj-rehearse pull-ci-openshift-microshift-main-e2e-aws-tests-rpm-arm |
|
@agullon: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
The regex ^rpm-presubmits-.*$ required a trailing dash, but SCENARIO_TYPE was renamed from rpm-presubmits-el9 to rpm-presubmits. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> pre-commit.check-secrets: ENABLED
|
/pj-rehearse pull-ci-openshift-microshift-main-e2e-aws-tests-rpm-arm |
|
/pj-rehearse pull-ci-openshift-microshift-main-e2e-aws-tests-rpm |
|
@agullon: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
@agullon: your |
|
/pj-rehearse pull-ci-openshift-microshift-main-e2e-aws-tests-rpm |
|
@agullon: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
/pj-rehearse pull-ci-openshift-microshift-main-e2e-aws-tests-rpm |
|
@agullon: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
/pj-rehearse pull-ci-openshift-microshift-main-e2e-aws-tests-rpm-arm |
|
@agullon: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
- Replace unified e2e-aws-tests-rpm with e2e-aws-tests-rpm-el9 and e2e-aws-tests-rpm-el10 (x86 only) - Both point to same scenarios-rpm/presubmits/ directory - SCENARIO_TYPE (rpm-presubmits-el9 or rpm-presubmits-el10) determines the RHEL version at runtime - Write SCENARIO_TYPE to _output/scenario_type in iso-build step for test step to read Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> pre-commit.check-secrets: ENABLED
- Only write scenario_type file when SCENARIO_TYPE is non-empty to avoid polluting tarballs for non-RPM jobs - Add comment explaining why el9/el10 share the same scenario directory Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> pre-commit.check-secrets: ENABLED
|
/pj-rehearse pull-ci-openshift-microshift-main-e2e-aws-tests-rpm-el9 |
|
/pj-rehearse pull-ci-openshift-microshift-main-e2e-aws-tests-rpm-el10 |
|
@agullon: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
1 similar comment
|
@agullon: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
@agullon: The following tests failed, say
Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
The directory doesn't exist yet at the point where scenario_type is written — it's created later by the build scripts. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> pre-commit.check-secrets: ENABLED
|
/pj-rehearse pull-ci-openshift-microshift-main-e2e-aws-tests-rpm-el9 |
|
/pj-rehearse pull-ci-openshift-microshift-main-e2e-aws-tests-rpm-el10 |
|
@agullon: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
1 similar comment
|
@agullon: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
[REHEARSALNOTIFIER]
A total of 371 jobs have been affected by this change. The above listing is non-exhaustive and limited to 25 jobs. A full list of affected jobs can be found here Interacting with pj-rehearseComment: Once you are satisfied with the results of the rehearsals, comment: |
Summary
e2e-aws-tests-rpm-el9ande2e-aws-tests-rpm-el10presubmit jobsrpm-presubmits-*scenario types toscenarios-rpm/directoriesci_phase_iso_build.sh -rpm_onlyfor RPM presubmit jobs to skip image buildsContext
Companion PR to openshift/microshift#6961. Shift Week project to reduce presubmit CI time ~35-40% by running RPM-based scenarios without building ostree/bootc images.
Test plan
make jobsvalidatione2e-aws-tests-rpm-el9presubmit job end-to-end🤖 Generated with Claude Code
Summary by CodeRabbit
This PR updates MicroShift’s OpenShift CI/Prow configuration to add AWS-based RPM presubmit coverage and to steer the underlying ISO build logic to avoid unnecessary non-RPM image build work for RPM scenario runs.
Adds two new AWS presubmit E2E jobs in
ci-operator/config/openshift/microshift/openshift-microshift-main.yaml:e2e-aws-tests-rpm(EC2:c5.metal,MICROSHIFT_OS: rhel-9.8)e2e-aws-tests-rpm-arm(EC2:m7g.metal,MICROSHIFT_OS: rhel-9.8)Both run
openshift-microshift-e2e-metal-testson theopenshift-org-awscluster profile and setSCENARIO_TYPE: rpm-presubmits.Routes the new
rpm-presubmitsscenario type to the RPM scenario source directories by extendingget_source_dir()inci-operator/step-registry/openshift/microshift/includes/openshift-microshift-includes-commands.sh:rpm-presubmits→scenarios-rpm/presubmits:scenarios-rpmAdds
SCENARIO_TYPEplumbing and RPM-only dispatch to the ISO build step:ci-operator/step-registry/openshift/microshift/infra/iso-build/openshift-microshift-infra-iso-build-ref.yamlnow injectsSCENARIO_TYPE(defaulting to"") into the iso-build step environment.ci-operator/step-registry/openshift/microshift/infra/iso-build/openshift-microshift-infra-iso-build-commands.shupdates the iso-build dispatcher so:ci_phase_iso_build.sh -update_cache^rpm-presubmits-.*$runci_phase_iso_build.sh -rpm_onlyci_phase_iso_build.sh